package com.huawang.mdesign.model.service.util.reqif;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import lombok.Getter;
import lombok.Setter;

/**
 * Class representing additional information related to enumeration literals.
 *
 * @author xdl
 * @since 2023-04-04
 */
@Getter
@Setter
@XStreamAlias(ReqIFConstants.EMBEDDED_VALUE)
public class EmbeddedValue {

    /**
     * The numerical value corresponding to the enumeration literal.
     */
    @XStreamAlias(ReqIFConstants.KEY)
    @XStreamAsAttribute
    private Integer key;

    /**
     * Arbitrary additional information related to the enumeration literal (for example, a color.)
     */
    @XStreamAlias(ReqIFConstants.OTHER_CONTENT)
    @XStreamAsAttribute
    private String otherContent;

    /**
     * Back linkage to the owning EnumValue class.
     */
    @XStreamOmitField
    private EnumValue enumValue;
}
